﻿using System;
using System.Globalization;
using System.Web.UI;
using System.Web.UI.WebControls;
using PortalCurriculo.Domain;
using PortalCurriculo.WebUI.UserControls.Curriculo;
using Panel = PortalCurriculo.WebUI.UserControls.Basico.Panel;

namespace PortalCurriculo.WebUI.Curriculo
{
    public partial class Pesquisar : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack) return;
            SelecionarPais();
        }

        private void SelecionarPais()
        {
            var isoAlfa3 = RegionInfo.CurrentRegion.ThreeLetterISORegionName;
            var pais = new Pai { ISOAlfa3 = isoAlfa3 }.Selecionar();
            if (pais == null)
                Cidade.DropDownPais.SelectedIndex = 0;
            else
                Cidade.DropDownPais.SelectedValue = pais.Id.ToString();
        }

        protected void lsvCurriculo_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            var item = (ListViewDataItem)e.Item;
            var pesquisa = (Domain.Curriculo.Pesquisa)item.DataItem;
            var panel = (Panel)item.FindControl("PanelCurriculo");
            var visualizacao = (VisualizacaoSimples)panel.FindControl("Visualizacao");
            visualizacao.Curriculo = pesquisa.Curriculo;
        }

        protected void lnkPesquisaRapida_Click(object sender, EventArgs e)
        {
            PesquisaRapida();
        }

        private void PesquisaRapida()
        {
            int idCidade = Cidade.DropDownCidade.SelectedIndex == 0 ? 0 : int.Parse(Cidade.DropDownCidade.SelectedItem.Value);
            int idUnidadeFederativa = Cidade.DropDownUnidadeFederativa.SelectedIndex == 0 ? 0 : int.Parse(Cidade.DropDownUnidadeFederativa.SelectedItem.Value);
            int idPais = int.Parse(Cidade.DropDownPais.SelectedItem.Value);

            var curriculos = new Domain.Curriculo().ListarPorPalavraChave(txtPalavraChave.Value, idCidade, idUnidadeFederativa, idPais);

            lsvCurriculo.DataSource = curriculos;
            lsvCurriculo.DataBind();
        }
    }
}